*******************************************************************************
仠僪僉儏儊儞僩庬暿      丗奺儔僀僽儔儕奐敪愢柧僼傽僀儖
仠僼傽僀儖婰崋柤徧      丗mangfs.txt
仠懳徾儔僀僽儔儕婰崋柤徧丗GFS
仠懳徾儔僀僽儔儕柤徧    丗僼傽僀儖僔僗僥儉
仠僶乕僕儑儞            丗2.11
仠嶌惉幰                丗H.T.
仠嶌惉擔                丗1996-03-21
仠偦偺懠偺儊僢僙乕僕    丗側偟
*******************************************************************************

侾丏丂Ver.1.01偐傜Ver.1.10傊偺曄峏撪梕
侾丏侾丂俠俢愭撉傒張棟偺曄峏
乮侾乯丂GFS_NwCdRead偺巊梡朄曄峏
丂GFS_NwCdRead傪屇傃弌偟偨屻丄GFS_NwExecOne偑姰椆偡傞慜偵GFS_NwFread傪屇傃弌偟
偰傕俠俢偐傜偺愭撉傒偼桳岠偵側傝傑偡丅
丂俠俢偐傜偺愭撉傒傪巊梡偡傞偲丄巜掕偟偨僙僋僞悢傪偡傋偰儂僗僩懁偵揮憲偡傞偐丄
傾僋僙僗傪拞巭偝偣傞傑偱姰椆偟側偔側傝傑偟偨丅乮GFS_NwIsComplete偑TRUE傪曉偝側
偄丅乯

乮俀乯丂傾僋僙僗姰椆僠僃僢僋亂廳梫亃
丂GFS_NwCdRead傪屇傃弌偟偨応崌丄僨乕僞揮憲偑廔傢傞偐傾僋僙僗偑拞巭偝傟傞傑偱
GFS_NwExecOne偼姰椆傪曉偟傑偣傫丅GFS_NwFread傪屇傃弌偝偢偵GFS_NwExecOne偑姰椆傪
曉偡偺傪懸偭偰偼偄偗傑偣傫丅Rel.2偺儅僯儏傾儖P.18偺椺偺傛偆偵GFS_NwCdRead偺捈屻
偵GFS_NwExecOne偺姰椆傪懸偮偲柍尷儖乕僾偵側傞偺偱拲堄偟偰偔偩偝偄丅
丂GFS_NwCdRead傪屇傃弌偟偰偄側偗傟偽慜僶乕僕儑儞偲摨偠庤弴偱GFS_NwExecOne偺姰椆
傪僠僃僢僋偱偒傑偡丅
丂俠俢偐傜偺愭撉傒傪偟偰偄傞偲偒傗丄忢挀儌乕僪偺偲偒偵偼丄GFS_NwGetStat傪巊偭偰
揮憲嵪傒僶僀僩傪娔帇偡傞偙偲傕摨帪偵峴偭偰姰椆傪僠僃僢僋偟偰偔偩偝偄丅埲壓偵椺傪
帵偟傑偡丅

#define    FILE_SIZE       ??????  /* 僼傽僀儖偺僒僀僘(僶僀僩悢)       */
#define    SCT_SIZE        2048    /* 僙僋僞偺僒僀僘(2048傑偨偼2324)   */
#define    BUF_SCTNUM      ?       /* 撉傒崬傓僙僋僞悢(FILE_SIZE埲壓)  */

    GfsHn  gfs;
    Sint32 fid, stat, nbyte, rest, rdsct;
    Uint32 buf[BUF_SCTNUM * SCT_SIZE/sizeof(Uint32)];

    gfs = GFS_Open(fid);
    rest = (FILE_SIZE + SCT_SIZE - 1) / SCT_SIZE;
    GFS_NwCdRead(gfs, rest);
    while (rest > 0) {
        rdsct = MIN(rest, BUF_SCTNUM);
        GFS_NwFread(gfs, rdsct, buf, rdsct * SCT_SIZE);
        while (TRUE) {
            user();                 /* 傾僾儕働乕僔儑儞張棟 */
            stat = GFS_NwExecOne(gfs);
			if (stat == GFS_SVR_COMPLETED) {
                break;
            }
            GFS_NwGetStat(gfs, &stat, &nbyte);
            /* GFS_NwFread偱巜掕偟偨僶僀僩悢偑撉傒崬傑傟偨偐傪挷傋傞 */
            if (nbyte >= rdsct * SCT_SIZE) {
                break;
            }
        }
        rest -= rdsct;
    }


侾丏俀丂CD-DA僼傽僀儖張棟婡擻捛壛
丂CD-DA 僼傽僀儖張棟婡擻傪捛壛偟傑偟偨丅CD-DA 僼傽僀儖偺撉傒崬傒偼丄偦偺僼傽僀
儖偱巜掕偝傟傞壒妝僩儔僢僋偺嵞惗偲側傝傑偡丅偨偩偟丄壒傪弌椡偝偣傞偵偼傾僾儕働
乕僔儑儞懁偱SCSP傪愝掕偡傞昁梫偑偁傝傑偡丅

乮侾乯丂僼傽僀儖偵懳偡傞惂屼
丂CD-DA 僼傽僀儖偵懳偟偰僼傽僀儖僔僗僥儉偑峴偆惂屼偼嵞惗偲嵞惗斖埻偺惂屼偩偗偱
偡丅嵞惗儌乕僪偼徣棯抣乮儕僺乕僩側偟丄僺僢僋傾僢僾傪堏摦偡傞乯偱偡丅

乮俀乯丂嵞惗偺巇曽
丂CD-DA僼傽僀儖傪嵞惗偡傞偵偼師偺曽朄偑偁傝傑偡丅
丂丂(a) GFS_Load
丂丂(b) GFS_Fread
丂丂(c) GFS_NwFread
丂丂(d) GFS_NwCdRead
  (a), (b)偺曽朄偱偼嵞惗偑廔椆偡傞傑偱栠偭偰偒傑偣傫丅
丂(c), (d)偺曽朄偱偼僒乕僶娭悢傪屇傃弌偡昁梫偑偁傝傑偡丅CD-DA偺嵞惗偑廔椆偡傞偲
僒乕僶娭悢偼GFS_SVR_COMPLETED傪曉偟傑偡丅
丂搑拞偐傜嵞惗偡傞偵偼GFS_Seek傪巊梡偟傑偡丅
丂CD-DA僼傽僀儖偲CD-ROM僼傽僀儖傪摨帪偵傾僋僙僗偡傞偙偲偼偱偒傑偣傫丅

乮俁乯丂僼傽僀儖憖嶌偵娭偡傞僷儔儊乕僞
丂CD-DA僼傽僀儖偵懳偟偰丄庢傝弌偟儌乕僪丄揮憲儌乕僪丄撉傒崬傒僷儔儊乕僞丄庢傝弌
偟僷儔儊乕僞傪曄峏偡傞偙偲偼偱偒傑偣傫丅CD-DA僼傽僀儖偵懳偟偰師偺娭悢傪屇傃弌偡
偲僄儔乕傪曉偟傑偡丅
        GFS_SetGmode
        GFS_SetTmode
        GFS_SetReadPara
        GFS_SetTransPara

侾丏俁丂僼傽僀儖懏惈
丂GFS_GetFileInfo 偱弌椡偝傟傞僼傽僀儖懏惈偺抣傪CD-ROM XA婯奿偵弨嫆偝偣傞偨傔丄
師偺傛偆偵曄峏偟傑偟偨丅
        GFS_ATR_DIR     0x80
        GFS_ATR_CDDA    0x40
        GFS_ATR_INTLV   0x20
        GFS_ATR_FORM2   0x10
        GFS_ATR_FORM1   0x80
        GFS_ATR_END_TBL 0x01
丂GFS_ATR_CDDA偼CD-DA 僼傽僀儖張棟婡擻捛壛偺偨傔捛壛偟傑偟偨丅偦偺價僢僩偼CD-DA
僼傽僀儖偺帪1偵側傝傑偡丅
丂偦偺懠偺掕悢柤偲偦偺堄枴偼曄傢偭偰偄傑偣傫丅

侾丏係丂GFS_Init偲GFS_LoadDir偺娭悢抣
丂堷悢偺僨傿儗僋僩儕忣曬娗棟峔憿懱傊偺億僀儞僞偵NULL傪巜掕偡傞偲丄俠俢僽儘僢僋
僼傽僀儖僔僗僥儉偑曐帩偟偰偄傞僨傿儗僋僩儕忣曬偺屄悢傪娭悢抣偲偟偰曉偟傑偡丅

侾丏俆丂僄儔乕僐乕僪偺捛壛
乮侾乯丂GFS_ERR_BFUL
丂忢挀儌乕僪乮GFS_GMODE_RESIDENT乯偺僼傽僀儖傪撉傒崬傒拞偵俠俢僶僢僼傽偑偄偭傁
偄偵側傞偲丄偙偺僄儔乕僐乕僪偑敪惗偟傑偡丅
丂忢挀儌乕僪偺僼傽僀儖傾僋僙僗拞偵偼僶僢僼傽僼儖偵側傜側偄傛偆偵傾僋僙僗偺弴彉
側偳傪挷惍偟偰偔偩偝偄丅

乮俀乯丂GFS_ERR_FATAL
丂偙偺僄儔乕僐乕僪偼俠俢僪儔僀僽偑<FATAL>忬懺偵側偭偨偙偲傪捠抦偟傑偡丅
丂僼傽僀儖僔僗僥儉偼偙偺忬懺傪専弌偡傞偲丄俠俢嵞惗傪拞巭乮儂乕儉埵抲傊僔乕僋乯
偝偣丄僄儔乕忬懺偐傜偺夞暅傪帋傒傑偡丅偙偺僄儔乕僐乕僪傪専弌偟偨傜丄張棟傪儕僩
儔僀偟偰偔偩偝偄丅

侾丏俇丂僩儗僀僆乕僾儞忬懺偺擣幆
丂俠俢僽儘僢僋偺妱傝崬傒梫場儗僕僗僞(HIRQREQ)偺DCHG價僢僩(bit5)偑1偺帪傕丄僩儗
僀偑奐偄偰偄傞忬懺偲偟偰埖偆傛偆偵偟傑偟偨丅
丂奐敪拞偼丄GFS_Init傪屇傇慜偵俠俢僗僥乕僞僗偑僆乕僾儞偱側偄偙偲傪妋擣偟偰DCHG
價僢僩傪僋儕傾偡傞張棟傪峴偭偰偔偩偝偄丅
丂惢昳斉偱偼丄BOOT ROM偑DCHG僼儔僌傪僋儕傾偡傞偺偱傾僾儕働乕僔儑儞偑僋儕傾偟偰
偼偄偗傑偣傫丅

侾丏俈丂揮憲愭傾僪儗僗偵傛傞揮憲儌乕僪偺曄峏
丂揮憲儌乕僪偑GFS_TMODE_SCU偵愝掕偝傟偰偄偰傕丄揮憲愭傾僪儗僗偑師偺嬻娫偵娷傑傟
傞応崌偼CPU偵傛傞僜僼僩僂僃傾揮憲偑嫮惂揑偵峴傢傟傑偡丅
        WORKRAM-L嬻娫   00200000H 乣 002FFFFFH
        A-Bus嬻娫       02000000H 乣 058FFFFFH

侾丏俉丂僨僶僢僌僼傽僀儖娭楢
乮侾乯丂GFMC_base
丂SIMM僼傽僀儖偺愭摢傾僪儗僗傪愝掕偡傞曄悢GFMC_base偼丄sega_gfs.lib偲segadgfs.
lib偺椉曽偵掕媊偟傑偟偨丅
丂sega_gfs.lib拞偺GFMC_base偼丄segadgfs.lib偲偺屳姺惈偺偨傔偩偗偵懚嵼偟傑偡丅僼
傽僀儖僔僗僥儉偺摦嶌偵偼塭嬁傪梌偊傑偣傫丅

乮俀乯丂僼傽僀儖幆暿巕
丂俠俢僼傽僀儖傪巊梡偟側偄偲偒偵"."偲".."乮僇儗儞僩僨傿儗僋僩儕偲恊僨傿儗僋僩儕
乯傪帺摦揑偵捛壛偡傞偲偄偆婡擻傪嶍彍偟傑偟偨丅偙傟偵傛傝丄僼傽僀儖幆暿巕偼僽乕
僩帪偲堦抳偟傑偡丅

俀丏丂Ver.1.10埲崀偺曄峏撪梕乮Ver.1.11乣Ver.1.20傑偱乯
俀丏侾丂Ver.1.10偐傜Ver.1.11傊偺曄峏撪梕
乮侾乯丂GFS_Init娭悢
丂INT_ChgMsk娭悢偵傛傝丄SCU偺儗儀儖0-DMA廔椆妱傝崬傒傪嫋壜偡傞傛偆偵偟傑偟偨丅
乮DMA揮憲偺廔椆敾抐偑妱傝崬傒偱張棟偝傟傞傛偆偵巇條曄峏偝傟偨偨傔丅乯

俀丏俀丂Ver.1.11偐傜Ver.1.13傊偺僶僌廋惓
丂(a) 嵞惗拞偵俠俢僶僢僼傽偑偄偭傁偄偵側傞偲儕乕僪僄儔乕(GFS_ERR_CDRD)偵側傞忈
丂丂丂奞傪廋惓偟傑偟偨丅

俀丏俁丂Ver.1.13偐傜Ver.1.15傊偺僶僌廋惓
丂(a) 柍梡側僞僀儉傾僂僩僄儔乕乮GFS_ERR_TMOUT乯偑偱傞忈奞傪廋惓偟傑偟偨丅

俀丏係丂Ver.1.15偐傜Ver.1.16傊偺曄峏撪梕
乮侾乯丂GFS_Init娭悢偵偍偗傞俠俢僽儘僢僋偺弶婜愝掕
丂CDC_CdInit娭悢偵傛傝丄埲壓偺愝掕傪偍偙側偄傑偡丅
乮ECC夞悢偲儕僩儔僀夞悢偑嵟戝抣偵愝掕偝傟丄偦傟埲奜偼僨僼僅儖僩偺傑傑偱偡丅乯
丂丒CD僽儘僢僋僜僼僩儕僙僢僩丗偟側偄
  丒僒僽僐乕僪僨僐乕僪      丗偟側偄
  丒儌乕僪2僒僽僿僢僟擣幆   丗偡傞
  丒僼僅乕儉2儕乕僪儕僩儔僀 丗偟側偄
  丒CD-ROM僨乕僞儕乕僪      丗嵟崅懍乮尰嵼偼俀攞懍乯
  丒僗僞儞僶僀僞僀儉        丗180昩
  丒ECC夞悢                 丗5夞
  丒儕僩儔僀夞悢            丗15夞

乮俀乯丂儕乕僪僄儔乕敪惗帪偺儕僇僶儕張棟偺捛壛
丂GFS_NwExecOne, GFS_NwExecServer偵偍偄偰儕乕僪僄儔乕偑敪惗偟偨応崌丄Ver.1.15埲
慜偲摨條偵GFS_ERR_CDRD傪曉偟傑偡偑丄偦偺傑傑僒乕僶娭悢傪屇傇偲儕僇僶儕張棟傪偟
傑偡丅姰椆暅婣宆傾僋僙僗偱偼丄Ver.1.15埲慜偲摨條偵GFS_ERR_CDRD傪曉偟傑偡丅

乮俁乯丂GFS_Fread偵偍偗傞僞僀儉傾僂僩帪娫偺墑挿
丂GFS_Fread屇傃弌偟屻丄僨乕僞偺撉傒崬傒偑巒傑傞傑偱偺僞僀儉傾僂僩帪娫傪墑挿偟傑
偟偨丅

乮係乯丂僄儔乕僐乕僪偺曄峏
丂丒GFS_Load偵偍偗傞僔乕僋埵抲晄惓                  丗GFS_ERR_OFS
丂丒GFS_Seek偵偍偗傞僼傽僀儖斖埻奜傊偺僔乕僋        丗GFS_ERR_SEEK
丂丒GFS_NwFread, GFS_Fread嵞惗僙僋僞悢偺儅僀僫僗巜掕丗GFS_ERR_PARA

乮俆乯丂僶僌廋惓
丂(a) GFS_TMODE_SCU傪巊梡偟偰B-Bus偵揮憲偡傞嵺丄侾儚乕僪旘傃偵揮憲偝傟傞忈奞傪
丂丂丂廋惓偟傑偟偨丅
丂(b) GFS_TMODE_SDMA0, GFS_TMODE_SDMA1 傪巊梡偟偰儘儞僌儚乕僪扨埵偱側偄僨乕僞傪
丂丂丂揮憲偡傞偲僨乕僞偑敳偗棊偪傞忈奞傪廋惓偟傑偟偨丅
丂(c) GFS_Load傪巊梡偟偰僼傽僀儖偺枛旜傑偱撉傑側偄応崌偵丄撉傒崬傒懍搙偑掅壓偡
丂丂丂傞忈奞傪夵慞偟傑偟偨丅

俀丏俆丂Ver.1.16偐傜Ver.1.20傊偺僶僌廋惓
丂(a) GFS_Fread,GFS_Load偱SIMM僼傽僀儖傪撉傒崬傫偩応崌丄撉傒崬傒僶僀僩悢偑2048
丂丂丂僶僀僩扨埵偲側傞忈奞傪廋惓偟傑偟偨丅
丂(b) 埲壓偺偳偪傜偐偺応崌偵偍偄偰丄僨乕僞偑撉傒崬傑傟側偄忈奞傪廋惓偟傑偟偨丅
丂丂丒暋悢偺僼傽僀儖偵懳偟偰丄摨帪偵GFS_NwCdRead, GFS_Fread傪幚峴偟愭撉傒偟偨
丂丂丂応崌丅
丂丂丒GFS_SetReadPara偱巜掕偟偨嵟戝撉傒崬傒僙僋僞悢偑丄僼傽僀儖僒僀僘傛傝彫偝偄
      応崌丅
丂(c) 僨傿儗僋僩儕僼傽僀儖偺僒僀僘偑僙僋僞扨埵偱側偄僨傿僗僋偱傕嵞惗偱偒傞傛偆
丂丂丂偵廋惓偟傑偟偨丅

俁丏丂Ver.1.20偐傜Ver.1.21傊偺曄峏撪梕
俁丏侾丂娭悢偺捛壛
劇劅劅劅劅劅劍劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劍劅劅劅劅劅劅劅劅劅劅劍劅劅劅劉
劆Title     劆Function                        劆Function Name       劆No    劆
劆娭悢巇條  劆僨傿儗僋僩儕忣曬偺庢摼          劆GFS_GetDirInfo      劆1.6   劆
劋劅劅劅劅劅劏劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劏劅劅劅劅劅劅劅劅劅劅劏劅劅劅劊
乵彂幃乶  Sint32  GFS_GetDirInfo(Sint32 fid, GfsDirId *dirrec)
乵擖椡乶  fid   丗僼傽僀儖幆暿巕
乵弌椡乶  dirrec丗僨傿儗僋僩儕忣曬
乵娭悢抣乶僄儔乕僐乕僪
乵婡擻乶
丂僼傽僀儖幆暿巕偐傜僨傿儗僋僩儕忣曬傪庢摼偡傞丅

劇劅劅劅劅劅劍劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劍劅劅劅劅劅劅劅劅劅劅劍劅劅劅劉
劆Title     劆Function                        劆Function Name       劆No    劆
劆娭悢巇條  劆僼傽僀儖僔僗僥儉偺儕僙僢僩      劆GFS_Reset           劆1.7   劆
劋劅劅劅劅劅劏劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劏劅劅劅劅劅劅劅劅劅劅劏劅劅劅劊
乵彂幃乶  void  GFS_Reset(void)
乵擖椡乶  側偟
乵弌椡乶  側偟
乵娭悢抣乶側偟
乵婡擻乶
丂僆乕僾儞偟偰偄傞僼傽僀儖傪慡偰僋儘乕僘偟丄僼傽僀儖僔僗僥儉傪儕僙僢僩偡傞丅
乮僨傿儗僋僩儕忣曬埲奜傪弶婜壔偡傞乯
乵旛峫乶
丂僗僩儕乕儉僔僗僥儉傪巊梡偟偰偄傞応崌丄僗僩儕乕儉傪僋儘乕僘偟偰偐傜杮娭悢傪幚
  峴偡傞偙偲丅

劇劅劅劅劅劅劍劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劍劅劅劅劅劅劅劅劅劅劅劍劅劅劅劉
劆Title     劆Function                        劆Function Name       劆No    劆
劆娭悢巇條  劆俠俢僶僢僼傽嬫夋偺僙僋僞悢偺庢摼劆GFS_GetNumCdbuf     劆2.9   劆
劋劅劅劅劅劅劏劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劏劅劅劅劅劅劅劅劅劅劅劏劅劅劅劊
乵彂幃乶  Sint32 GFS_GetNumCdbuf(GfsHn gfs)
乵擖椡乶  gfs   丗僼傽僀儖僴儞僪儖
乵弌椡乶  側偟
乵娭悢抣乶俠俢僶僢僼傽嬫夋撪偺僙僋僞悢
乵婡擻乶
丂俠俢僶僢僼傽嬫夋撪偵懚嵼偡傞僙僋僞悢傪庢摼偡傞丅

劇劅劅劅劅劅劍劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劍劅劅劅劅劅劅劅劅劅劅劍劅劅劅劉
劆Title     劆Function                        劆Function Name       劆No    劆
劆娭悢巇條  劆揮憲娭悢偺搊榐                  劆GFS_SetTrFunc       劆5.5   劆
劋劅劅劅劅劅劏劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劏劅劅劅劅劅劅劅劅劅劅劏劅劅劅劊
乵彂幃乶  void  GFS_SetTrFunc(GfsHn gfs, GfsTrFunc func)
乵擖椡乶  gfs   丗僼傽僀儖僴儞僪儖
          func  丗揮憲娭悢
乵弌椡乶  側偟
乵娭悢抣乶側偟
乵婡擻乶
丂巜掕偟偨僼傽僀儖偵懳偟偰丄揮憲娭悢傪搊榐偡傞丅
丂搊榐娭悢偼丄僼傽僀儖偺揮憲張棟帪偵屇傃弌偝傟傞丅
乵旛峫乶
丂(a) 搊榐娭悢偼埲壓偺宍幃偱偁傞丅
        Sint32 (*GfsTrFunc)(GfsHn gfs, Sint32 nsct)
        gfs  丗僼傽僀儖僴儞僪儖
        nsct 丗揮憲壜擻僙僋僞悢
丂丂丂揮憲娭悢偼丄嵟戝nsct僙僋僞偺僨乕僞傪庢傝弌偡偙偲偑偱偒傞丅
丂丂丂娭悢抣偵偼丄幚嵺偵庢傝弌偟偨僙僋僞悢傪曉偡丅
丂丂丂偨偩偟丄DMA側偳偵傛傝揮憲娭悢廔椆帪揰偱揮憲拞偺応崌偼丄(-1)傪曉偡偙偲丅
丂(b) 揮憲娭悢偺椺
        Uint32  read_buf[BUFSIZE];
        Sint32  transFunc(GfsHn gfs, Sint32 nsct)
        {
            Uint32  *ptr;
            Sint32  dadr;
            Sint32  i;

            ptr = GFS_StartTrans(gfs, &dadr);
            for (i = 0; i < 2048 * nsct; i++) {
                read_buf[i] = *ptr;
                ptr += dadr;
            }
            return (nsct);
        }

劇劅劅劅劅劅劍劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劍劅劅劅劅劅劅劅劅劅劅劍劅劅劅劉
劆Title     劆Function                        劆Function Name       劆No    劆
劆娭悢巇條  劆揮憲娭悢偵偍偗傞揮憲奐巒        劆GFS_StartTrans      劆5.6   劆
劋劅劅劅劅劅劏劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劏劅劅劅劅劅劅劅劅劅劅劏劅劅劅劊
乵彂幃乶  Uint32  *GFS_StartTrans(GfsHn gfs, Sint32 *dadr)
乵擖椡乶  gfs   丗僼傽僀儖僴儞僪儖
          dadr  丗侾儘儞僌儚乕僪庢傝弌偡偛偲偺揮憲尦傾僪儗僗偺曄壔暘
乵弌椡乶  側偟
乵娭悢抣乶揮憲尦傾僪儗僗
乵婡擻乶
丂揮憲娭悢偵偍偄偰僨乕僞偺揮憲張棟傪奐巒偡傞丅

俁丏俀丂偦偺懠偺曄峏
丂(a) 昁梫嵟彫尷偺娭悢乮壓婰偺拲堄帠崁傪嶲徠乯偩偗偼丄SCU-DMA揮憲拞偵幚峴偟偰傕
丂丂丂A-Bus傊傾僋僙僗偟側偄傛偆偵懳墳偟傑偟偨丅
丂(b) CDC儔僀僽儔儕Ver.1.20偵懳墳偟傑偟偨丅

係丏丂Ver.1.21埲崀偺曄峏撪梕乮Ver.1.22乣Ver.2.11傑偱乯
係丏侾丂Ver.1.21偐傜Ver.1.22傊偺曄峏撪梕
丂僨儌僨儌僜僼僩梡偺婡擻傪捛壛偟傑偟偨丅偙偺婡擻傪帩偮GFS儔僀僽儔儕傪丄摿偵儅儖
僠GFS儔僀僽儔儕偲屇傃傑偡丅
丂儅儖僠GFS傪巊偆偙偲偱丄惢昳斉偐僨儌僨儌斉偐傪堄幆偡傞偙偲側偔僎乕儉傪奐敪偱偒
傑偡丅惢昳斉偲偟偰嶌惉偟偨僾儘僌儔儉傪丄偦偺傑傑僨儌僨儌斉偲偟偰幚峴偱偒傑偡丅

係丏俀丂Ver.1.22偐傜Ver.2.00傊偺曄峏揰
乮侾乯丂GFS_Fread娭悢
丂GFS_Fread娭悢偵偍偗傞晄梫側懸偪帪娫傪柍偔偟丄張棟懍搙傪岦忋偟傑偟偨丅
丂乮SCU-DMA拞偺A-Bus傾僋僙僗傕夞旔偝傟傑偡丅乯

乮俀乯丂僶僌廋惓
丂(a) 俠俢僽儘僢僋僼傽僀儖僔僗僥儉傪巊梡偟偨応崌丄僒僽僨傿儗僋僩儕偵堏摦偱偒側
丂丂丂偄忈奞傪廋惓偟傑偟偨丅
丂(b) CPU-DMA偱WORKRAM-L偵揮憲偟傛偆偲偟偨応崌丄僜僼僩僂僃傾揮憲偝傟傞忈奞傪廋
丂丂丂惓偟傑偟偨丅
丂(c) 忢挀儌乕僪偱僼傽僀儖傪暘妱偟偰撉傒崬傫偩応崌丄惓偟偔撉傔側偄忈奞傪廋惓偟
丂丂丂傑偟偨丅

係丏俁丂Ver.2.00偐傜Ver.2.01傊偺曄峏揰
乮侾乯丂僶僌廋惓
丂(a) 忢挀儌乕僪偱僼傽僀儖傪撉傒崬傫偩屻丄僼傽僀儖偺2/3埲崀偵僔乕僋偟偰
      GFS_Fread傪峴偆偲丄僼傽僀儖廔椆埵抲埲崀傪撉傒崬傓忈奞傪廋惓偟傑偟偨丅
丂(b) 忢挀儌乕僪偱嵟戝揮憲僙僋僞悢傪俀埲忋偵偡傞偲丄撉傒崬傒偑姰椆偟側偄忈奞傪
丂丂丂廋惓偟傑偟偨丅

係丏係丂Ver.2.01偐傜Ver.2.02傊偺曄峏揰
乮侾乯丂SGL CD-ROM儔僀僽儔儕偲偺摑堦壔
丂(a) SGL CD-ROM儔僀僽儔儕偲僜乕僗僐乕僪傪嫟桳偟偰巊梡偱偒傞傛偆偵偟傑偟偨丅徻
丂丂丂嵶偼丄乽俆丏俁丂SGL CD-ROM儔僀僽儔儕嶌惉帪偺拲堄乿傪嶲徠偟偰壓偝偄丅

乮俀乯丂僶僌廋惓
丂(a) 200僙僋僞埲忋偺俀偮偺僼傽僀儖偵GFS_NwCdRead傪幚峴偟偨屻丄GFS_NwFread偵傛
丂丂丂傝暘妱偟偰揮憲偟傛偆偲偡傞偲惓忢偵揮憲偝傟側偄忈奞傪廋惓偟傑偟偨丅
丂(b) 嵟廔僙僋僞偑3僶僀僩埲壓偺僼傽僀儖傪CPU-DMA偱撉傒崬傓偲僴儞僌偡傞忈奞傪廋
丂丂丂惓偟傑偟偨丅
丂(c) 僼傽僀儖撉傒崬傒屻丄CDC_CdPlay偵傛傝CD-DA僩儔僢僋傪嵞惗偟丄GFS_Close傪峴
丂丂丂偆偲丄CD-DA偑掆巭偡傞忈奞傪廋惓偟傑偟偨丅

係丏俆丂Ver.2.02偐傜Ver.2.10傊偺曄峏揰
乮侾乯丂僨儌僨儌梡嶲徠椞堟偺曄峏
丂僨儌僨儌幚峴帪偺丄嶲徠傾僪儗僗偺愭摢傪0x60020cc 偐傜0x6000ccc偵曄峏偟傑偟偨丅

乮俀乯丂抳柦揑僄儔乕専弌偺嫮壔
丂僩儗僀僆乕僾儞丄俠俢僽儘僢僋偺<FATAL>忬懺偺専弌婡擻傪嫮壔偟傑偟偨丅

乮俁乯丂SGL偵娭偡傞曄峏
丂(a) 僐儞僷僀儖僆僾僔儑儞偱USE_SGL 傪掕媊偟偨応崌傕丄SCU-DMA偑巊梡偱偒傞傛偆偵
丂丂丂偟傑偟偨丅
丂(b) SIMM, SCSI僼傽僀儖傪巊梡偡傞応崌丄僐儞僷僀儖僆僾僔儑儞偱柧帵揑偵DEBUG_LIB
丂丂丂傪掕媊偟側偗傟偽側傜側偄傛偆偵偟傑偟偨丅

乮係乯丂僶僌廋惓
丂(a) 僼傽僀儖撉傒崬傒拞偵丄GFS_NwStop, GFS_Close傪幚峴偟偨応崌丄俠俢僶僢僼傽偵
丂丂丂僨乕僞偑巆傞忈奞傪廋惓偟傑偟偨丅偙傟偵傛傝丄僼傽僀儖撉傒崬傒拞偵GFS_Close
丂丂丂傪幚峴偟偨応崌丄僪儔僀僽偑億乕僘忬懺偵側傞傑偱撪晹偱懸婡偟傑偡丅偙傟傪丄
丂丂丂夞旔偡傞偵偼丄偁傜偐偠傔GFS_NwStop傪幚峴偟丄僪儔僀僽掆巭屻丄GFS_Close傪幚
丂丂丂峴偟偰偔偩偝偄丅
丂丂丂偙傟偵敽偄丄堦扷忢挀儌乕僪偱撉傒崬傫偩僼傽僀儖傪丄攋婞儌乕僪偵曄峏偟偨応
丂丂丂崌丄埲慜偼弶夞偺撉傒崬傒帪偵俠俢傾僋僙僗偼峴偄傑偣傫偱偟偨偑丄弶夞偐傜俠
丂丂丂俢傾僋僙僗偡傞傛偆偵側傝傑偟偨丅
丂(b) DMA揮憲傪巜掕偟偨僼傽僀儖偺撉傒崬傒拞偵丄GFS_NwStop, GFS_Close 偵傛傝拞抐
丂丂丂偡傞偲惓偟偔拞抐張棟偝傟側偄忈奞傪廋惓偟傑偟偨丅

乮俆乯丂偦偺懠
丂(a) GCC偺嵟揔壔偵偍偗傞忈奞傪夞旔偡傞偨傔偺廋惓傪偍偙側偄傑偟偨丅

係丏俇丂Ver.2.10偐傜Ver.2.11傊偺曄峏揰
乮侾乯丂僪僉儏儊儞僩廋惓
丂(a) 杮僪僉儏儊儞僩偺侾丏侾乮俀乯偺僾儘僌儔儉椺傪廋惓偟傑偟偨丅

乮俀乯丂僶僌廋惓
丂(a) 僀儞僞儕乕僽偝傟偨僼傽僀儖偺嵞惗斖埻偺愝掕偵岆傝偑偁傝廋惓偟傑偟偨丅
丂(b) Form1, Form2僙僋僞偑崿嵼偡傞僼傽僀儖偵懳偟丄GFS_GetFileSize偱sctsz = NULL
丂丂丂偺巜掕偱幚峴偡傞偲丄0斣抧偵傾僋僙僗偡傞忈奞傪廋惓偟傑偟偨丅

乮俁乯丂偦偺懠
丂(a) 巊梡偟偰偄側偄曄悢傪嶍彍偟傑偟偨丅

俆丏丂儅僯儏傾儖掶惓帠崁
 劇劅劅劅劍劅劅劅劍劅劅劅劅劅劅劅劅劅劅劅劅劅劅劍劅劅劅劅劅劅劅劅劅劅劅劅劅劅劉
 劆儁乕僕劆 崁斣 劆 丂丂丂 丂  曄峏慜丂  丂 丂 劆 丂丂丂    曄峏屻           劆
 劌劅劅劅劑劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
 劆11    劆3.4   劆OpenByName(Uint8 *fname)    劆OpenByName(Sint8 *fname)    劆
 劌劅劅劅劑劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
 劆23    劆昞7.1 劆GFS_TRANS_乣                劆GFS_TMODE_乣                劆
 劌劅劅劅劑劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
 劆27    劆No2.6 劆GFS_TRANS_乣                劆GFS_TMODE_乣                劆
 劌劅劅劅劑劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
 劆27    劆No2.6 劆SCU偵傛傝DMA揮憲            劆SCU偵傛傞DMA揮憲 (儗儀儖侽) 劆
 劆      劆      劆                            劆仸揮憲愭偑WORKRAM-L偺応崌丄 劆
 劆      劆      劆                            劆僜僼僩僂僃傾揮憲偵側傝傑偡丅劆
 劌劅劅劅劑劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
 劆30    劆No3.4 劆GFS_DIR_FNAME(dir)  Uint8[] 劆GFS_DIR_FNAME(dir)  Sint8[] 劆
 劌劅劅劅劑劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
 劆34    劆No1.4 劆GFS_NameToId(Uint8 *fname)  劆GFS_NameToId(Sint8 *fname)  劆
 劌劅劅劅劑劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
 劆34    劆No1.5 劆const Uint8 *GFS_IdToName   劆Sint8 *GFS_IdToName         劆
 劌劅劅劅劑劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
 劆35    劆No2.3 劆僼傽僀儖枛旜傪墇偊傞埵抲乣  劆傾僋僙僗億僀儞僞偲偟偰僼傽僀劆
 劆      劆      劆                            劆儖偺斖埻奜傪巜掕偡傞偙偲偼偱劆
 劆      劆      劆                            劆偒傑偣傫丅                  劆
 劌劅劅劅劑劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
 劆36    劆No2.7 劆nsct丗僙僋僞悢 (嵟廔僙僋僞傪劆nsct丗僙僋僞悢 (嵟廔僙僋僞傪劆
 劆      劆      劆      娷傑側偄)             劆      娷傓)                 劆
 劆      劆      劆旛峫丗form2僙僋僞偺僼傽僀儖 劆旛峫丗form1偲form2偺崿嵼偡傞劆
 劆      劆      劆      偱乣側傝傑偣傫 丅     劆      僼傽僀儖偱偼丄sctsize,劆
 劆      劆      劆                            劆      lastsize偲傕侽偵側傝傑劆
 劆      劆      劆                            劆      偡丅                  劆
 劌劅劅劅劑劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
 劆38    劆No3.2 劆旛峫丗傾僋僙僗億僀儞僞偑乣  劆嶍彍                        劆
 劆      劆No4.1 劆      撉傒崬傒張棟傪峴偄傑偡劆                            劆
 劌劅劅劅劑劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
 劆39    劆No4.2 劆GFS_NwIsCompleted娭悢偱     劆GFS_NwIsComplete娭悢偱      劆
 劌劅劅劅劑劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
 劆44    劆      劆CD-ROM傪巊梡偟側偄応崌      劆P.50 C.2 (8)偺僼傽僀儖幆暿巕劆
 劆      劆      劆                            劆偺巇條曄峏偵傛傝嶍彍        劆
 劌劅劅劅劑劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
 劆48    劆C.2(1)劆GFS_SVR_COMPLETE            劆GFS_SVR_COMPLETED           劆
 劌劅劅劅劑劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劑劅劅劅劅劅劅劅劅劅劅劅劅劅劅劎
 劆49    劆C.2(3)劆GFS_ATR_FORM1  0x80         劆GFS_ATR_FORM1  0x08         劆
 劋劅劅劅劏劅劅劅劏劅劅劅劅劅劅劅劅劅劅劅劅劅劅劏劅劅劅劅劅劅劅劅劅劅劅劅劅劅劊

俇丏丂拲堄帠崁
俇丏侾丂DOS僼傽僀儖巊梡帪偺拲堄
丂DOS僼傽僀儖偺庢傝弌偟僷儔儊乕僞偼張棟偺搒崌忋丄侾搙偵侾僙僋僞偟偐揮憲偱偒傑偣
傫丅庢傝弌偟僷儔儊乕僞傪侾埲奜偺抣偵愝掕偟偰傕柍岠偱偡丅

俇丏俀丂SCU-DMA巊梡帪偺拲堄
乮侾乯丂妱傝崬傒嫋壜
丂揮憲儌乕僪偑GFS_TMODE_SCU偺偲偒丄僼傽僀儖僔僗僥儉儔僀僽儔儕偼DMA儔僀僽儔儕傪
梡偄偰SCU-DMA傪婲摦偟傑偡丅巊梡偡傞儗儀儖偼侽偱偡丅
丂偦偺偨傔GFS_Init偱偼丄INT_ChgMsk娭悢偵傛傝SCU偺儗儀儖0-DMA廔椆妱傝崬傒傪嫋壜
偟偰偄傑偡丅乮徻嵶偼DMA乛妱傝崬傒娭楢偺僪僉儏儊儞僩傪嶲徠偟偰偔偩偝偄丅乯
    /* SCU-DMA0廔椆妱傝崬傒傪嫋壜偡傞 */
    INT_ChgMsk(INT_MSK_DMA0, INT_MSK_NULL);

乮俀乯丂巊梡壜擻側娭悢偺惂尷
丂揮憲儌乕僪偑GFS_TMODE_SCU偺応崌傗丄揮憲娭悢偵偍偄偰SCU-DMA傪婲摦偟偨応崌偼丄
揮憲偑廔椆偡傞傑偱埲壓偺娭悢偩偗偑巊梡壜擻偱偡丅
丂SCU-DMA揮憲拞偼A-Bus傾僋僙僗嬛巭偺偨傔丄偙傟埲奜偺娭悢偼巊梡傪嬛巭偟傑偡丅
    丒GFS_Reset         丒GFS_Close         丒GFS_NwIsComplete  丒GFS_NwGetStat
    丒GFS_NwExecOne     丒GFS_NwExecServer  丒GFS_GetErrStat

俇丏俁丂僨儌僨儌幚峴帪偺拲堄帠崁
丂嶌惉偟偨僾儘僌儔儉傪僨儌僨儌斉偲偟偰幚峴偝偣傞偵偼丄埲壓偺惂尷帠崁偵峫椂偟偰
僐乕僨傿儞僌偡傞昁梫偑偁傝傑偡丅
丂(a) CD-DA偺嵞惗偼丄GFS_ConvTno娭悢偱僩儔僢僋斣崋傪曄姺偟丄俠俢捠怣僀儞僞僼僃
      乕僗偺僩儔僢僋斣崋巜掕偵傛傞CDC_CdPlay娭悢傪巊梡偡傞丅
丂丂丂懄抣偺僩儔僢僋斣崋傗丄CD-DA僼傽僀儖傪巊梡偟偰偼側傜側偄丅
丂(b) 俠俢偵傾僋僙僗偡傞応崌丄懄抣偺FAD傪巊梡偟偰偼側傜側偄丅
丂(c) 僨傿儗僋僩儕偺怺偝偺忋尷偼丄儖乕僩僨傿儗僋僩儕傪娷傔偰嵟戝俈傑偱偲偡傞丅

劇劅劅劅劅劅劅劅劅劍劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劍劅劅劅劅劅劅劅劅劍劅劅劅劉
劆Title           劆Function                      劆Function Name   劆No    劆
劆娭悢巇條        劆僩儔僢僋斣崋偺曄姺            劆GFS_ConvTno     劆6.4   劆
劋劅劅劅劅劅劅劅劅劏劅劅劅劅劅劅劅劅劅劅劅劅劅劅劅劏劅劅劅劅劅劅劅劅劏劅劅劅劊
乵彂幃乶丂Sint32 GFS_ConvTno(Sint32 logtno)
乵擖椡乶丂logtno :  榑棟僩儔僢僋斣崋乮僎乕儉僨傿僗僋偱埖偆僩儔僢僋斣崋乯
乵娭悢抣乶暔棟僩儔僢僋斣崋乮僨儌僨儌僨傿僗僋忋偺僩儔僢僋斣崋乯
乵婡擻乶
丂榑棟僩儔僢僋斣崋傪暔棟僩儔僢僋斣崋偵曄姺偡傞丅僨儌僨儌幚峴拞埲奜偺応崌偼丄榑
棟僩儔僢僋斣崋亖暔棟僩儔僢僋斣崋偲側傞丅

俇丏係丂SGL CD-ROM儔僀僽儔儕嶌惉帪偺拲堄
丂僐儞僷僀儖帪偵USE_SGL傪掕媊偟偰僐儞僷僀儖偡傞偲丄SGL CD-ROM儔僀僽儔儕梡偺儌僕
儏乕儖偲偟偰巊梡偱偒傑偡丅
丂SIMM, SCSI僼傽僀儖傪僒億乕僩偡傞応崌丄SBL偲摨條偵僐儞僷僀儖僆僾僔儑儞偱DEBUG_
LIB傪掕媊偟偰偔偩偝偄丅奺儔僀僽儔儕偵昁梫側僆僽僕僃僋僩僼傽僀儖偼丄gfs.lbr 側傜
傃偵gfsd.lbr 傪嶲徠偟偰偔偩偝偄丅

********************************* end of file *********************************
